/**
 * Projekt: M.U.L.E.-S.F.T. | Mechanic Unit (for) Labyrinth Exploration - Skilled (at) Finding Towers
 *
 * Autor: Sebastian Henn & Tobias Pickhardt
 * Seminar: Programmierpraktikum
 * Dozent: Thomas Hillebrand
 * 
 * Projektbeschreibung: 
 * 
 */
package MULE;

import lejos.nxt.Button;
import MULE.Bewegungsmodul.Engine;
import MULE.Bewegungsmodul.MotionController;
import MULE.Bewegungsmodul.util.EngineParameter;
import MULE.Lokalisationsmodul.Lokalisation;
import MULE.Sensorenmodul.Light;
import MULE.Sensorenmodul.util.SensorParameter;

public class MULEModel {
	//Variablen
	public EngineParameter params = new EngineParameter(360, 12.55, 5.6, 1/48, 'A', 'B');
	//public SensorParameter sparams = new SensorParameter(1,2);
	public Engine getriebe = new Engine(params);
	//public Lokalisation slam = new Lokalisation(getriebe);
	//public Light lsensor = new Light(sparams);
	public MotionController motion = new MotionController(params,getriebe);//,lsensor);
	
	/**
	 * Initialisierung des MULEs auf dem NXT
	 */
	public static void main(String[] args) {
		try {
			MULEModel MULEObject = new MULEModel();
			MULEObject.run();
		} catch (NullPointerException e) {
			System.out.println("Exception: MULEModel.main");
		}
		System.out.println("Running after");
		Button.waitForPress();
	}
	
	//Methoden
	/**
	 * 
	 */
	public MULEModel(){
		
	}
	
	/**
	 * 
	 */
	public void run(){
		System.out.println("Running");
		Button.waitForPress();
		while(true){
			System.out.println("move");
			this.motion.move(1, 0);
		}
	}
	
}
